
#ifndef C__LIST_H
#define C__LIST_H

#endif C__LIST_H

//带头结点的双向循环链表（简称带头结点的双链表）
#include<stdio.h>
typedef int DataType;//老规矩

typedef struct ListNode//双向链表结点的定义
{
    DataType data;
    struct ListNode* prev;
    struct ListNode* next;
}ListNode;


void ListPopBack(ListNode* phead);

void ListPushBack(ListNode* phead,DataType x);

void ListPrint(ListNode* phead);

ListNode* ListInit(ListNode* phead);

void ListPushFront(ListNode* phead,DataType x);

void ListPopFront(ListNode* phead);

void ListDestory(ListNode* phead);

void ListErase(ListNode* pos);

void ListInsert(ListNode* pos,DataType x);

ListNode* ListFind(ListNode* phead,DataType x);


